package com.hdu.careerplan.util;

import com.alibaba.fastjson.JSON;

import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PythonJsonUtil {

    /**
     * 提取python输出的json
     * @param pythonOutput python输出
     * @return 返回匹配的字符串，或为空
     */
    public static String getJsonFromPythonOutput(String pythonOutput) {
//        System.out.println(pythonOutput);
        String pattern = "\\{[\\S\\s]*\\}";
        Pattern re = Pattern.compile(pattern);
        Matcher matcher = re.matcher(pythonOutput);
//        String jsonData = null;
        if (matcher.find()) {
            return matcher.group(0);
        }
        else return null;

    }

    /**
     * 提取到的字符串转为map
     * @param jsonData 提取的json字符串
     * @return 返回map
     */
    public static Map<String, Object> jsonToMap(String jsonData) {

        return JSON.parseObject(jsonData, Map.class);
    }

    /**
     * 检验提取的json字符串是否存在
     * @param jsonData getJsonFromPythonOutput的输出结果
     * @return true存在，false不存在
     */
    public static boolean jsonExists(String jsonData) {
        return !(jsonData == null);
    }

}
